//-----------------------------------------------
void DemoRemainOnlyLayer (HANDLE hDrw, LPCWSTR szLayerName)
{
HANDLE hLayer;
WCHAR szName[256];
int nLays, nDels;
nDels = 0;
// get number of layers in the drawing
nLays = lcDrwCountObjects( hDrw, LC_OBJ_LAYER );
// emumerate all layers
hLayer = lcDrwGetFirstObject( hDrw, LC_OBJ_LAYER );
while( hLayer != 0 ){
// get layer name
wcscpy( szName, lcPropGetStr( hLayer, LC_PROP_LAYER_NAME ));
if (wcscmp( szName, szLayerName ) != 0){
// delete all entities of layer szLayerName, in all blocks
if (lcLayerClear( hLayer, 0 ) == TRUE){
// delete the layer, if not delault (named "0")
if (lcDrwDeleteObject( hDrw, hLayer ) == TRUE){
++nDels; // number of deleted layers
}
}
}
hLayer = lcDrwGetNextObject( hDrw, hLayer );
}
}